home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / asm / games / texturemapping / tmapdemo.readme < prev    next >
Text File  |  1980-01-03  |  3KB  |  82 lines

  1. This is a quick and dirty 3d demo I did for AA machines. It requires a joystick
  2. and an A1200 or A4000. Source code in assembly is provided.
  3.  
  4.     Don't run this without a joystick since the only way to quit is by
  5. pressing the joystick button!
  6.  
  7.     Do whatever you want with the code. Trash it, write a PD game,
  8. write a commerical game, I don't care. No warranties provided, etc.
  9. BUT, send me a copy!
  10.  
  11. About the source:
  12.  
  13.     The whole demo was written in about a week, and is largely
  14. unoptimized. Much room for improvement.
  15.  
  16.     I assembled it using ADAPT (hx68). Any other assembler which
  17. supports 020 ops *should* work.
  18.  
  19.     There are some '020 only instructions sprinkled throughout
  20. the source code, but getting it to work on non-020, non-ecs machines,
  21. wouldn't be too hard. Since everything is done in 256 color chunky 
  22. pixels, the bulk of the code could be unchanged, and then the part
  23. that transfers it to the screen could pass the pixels through a 
  24. lookup table to convert them to (for instance) half-bright. The
  25. same technique could be used to get it running in a window on
  26. the WB screen using palette-sharing.
  27.  
  28.     DEMO.I contains some equates which can be changed in 
  29. order to change window size, position, etc.
  30.  
  31.     All the ONTIMER/OFFTIMER macros sprinkled throughout the code
  32. are for my profiler. I wouldn't recommend turning on the PROFILE
  33. symbol unless you like enforcer hits.
  34.  
  35.     If the flag DO_CEILING is turned on, Gouraud shaded ceilings
  36. will be rendered, as well as floors.
  37.  
  38.     If the symbol DOBLUR is turned on, the 3d system will render
  39. the chunky image at half the horizontal resolution, and then double
  40. it when transferring it to the screen using a 64k blurring table.
  41. This could provide some speedup (if ChunkyToPlanar wasn't so much of
  42. a bottleneck).
  43.  
  44.     If the symbol MOTION_BLUR is set, a simple motion blur effect
  45. will be created via the same 64k table.
  46.  
  47.     The routine YLRUUFillT in ylrfill.asm can be used to make
  48. the texture mapped polygons transparent.
  49.  
  50.     The ChunkyToPlanar routine is based on source code from
  51. Richard Addison (addison@usc.edu). I hope he doesn't mind how
  52. much I mangled it up for this demo.
  53.  
  54.     DEMOMAIN.ASM contains a nice little elapsed time function for
  55. game timing. This means that you move through the world at the 
  56. same rate on every computer, whether it is an NTSC A4000 or a
  57. PAL A1200, even if you are ray-tracing in the background.
  58.  
  59.     The texture mapping only handles "wall-type" polygons, and
  60. is only linear. All of the 3d is setup to handle arbitrary
  61. texture maps, though.
  62.  
  63.     I kind of like the 3d clipper, because it is small and simple.
  64.  
  65.     The Gouraud shader is pretty cheesy, doing one divide per scanline.
  66.  
  67.     The structure of the world is a quick hack, and is probably on good
  68. enough for what its doing now.
  69.  
  70.     I'm not using the full palette.
  71.  
  72.     The .c files are small utilities which were used to make the palettes,
  73. lighting tables, etc. They require 3.0 and Christian Weber's iff.library.
  74.  
  75. *-------------------------------------------*---------------------------*
  76. |Chris Green - Graphics Software Engineer   - chrisg@commodore.COM      f
  77. |                  Commodore-Amiga          - uunet!cbmvax!chrisg       n
  78. |My opinions are my own, and do not         - icantforgettheimpression  o
  79. |necessarily represent those of my employer.- youmadeyouleftaholeinthe  r
  80. |"A screaming comes across the sky..."      - backofmyhead              d
  81. *-------------------------------------------*---------------------------*
  82.